{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "marine-generic",
   "metadata": {},
   "outputs": [],
   "source": [
    "import shapely"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "parliamentary-network",
   "metadata": {},
   "outputs": [],
   "source": [
    "from osgeo import ogr,osr,gdal"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "bright-insulin",
   "metadata": {},
   "outputs": [],
   "source": [
    "from shapely.geometry import Point"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "placed-giving",
   "metadata": {},
   "outputs": [],
   "source": [
    "point = Point(0.0, 0.0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "willing-rebate",
   "metadata": {},
   "outputs": [],
   "source": [
    "from shapely.geometry import LineString\n",
    "line = LineString([(0, 0), (1, 1)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "communist-prospect",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "tired-revolution",
   "metadata": {},
   "outputs": [],
   "source": [
    "from shapely.geometry import Point, Polygon, LineString"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "parallel-password",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "POLYGON EMPTY\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 定义线段\n",
    "line = LineString([(0.1, 0.1), (2, 3)])\n",
    "# 生成缓冲区\n",
    "buffer = line.buffer(0.5)\n",
    "x1,y1=line.xy\n",
    " \n",
    "x2,y2=buffer.boundary.xy\n",
    "\n",
    "polygon_buffer = buffer.buffer(-0.5)\n",
    "print(polygon_buffer)\n",
    "#x3,y3 = polygon_buffer.boundary.xy\n",
    "\n",
    " \n",
    "plt.figure()\n",
    " \n",
    "plt.plot(x1,y1)\n",
    " \n",
    "plt.plot(x2,y2)\n",
    "\n",
    "#plt.plot(x3,y3)\n",
    " \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "similar-insight",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "8.155962889650056\n",
      "0.0 1.0\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "line = LineString([(0, 0), (0, 1), (1, 10)])\n",
    "x,y = line.xy\n",
    "point = line.interpolate(1,False) # 根据距离求点\n",
    "p2 = line.interpolate(2,False)\n",
    "p3 = line.interpolate(3,False)\n",
    "\n",
    "p4=Point(1.8,8)\n",
    "p4_dist = line.project(p4)  # 根据点求距离,求的是直线与p4点最近的点，此时与起点的距离\n",
    "print(p4_dist)\n",
    "\n",
    "plt.figure(figsize=(8,8))\n",
    "plt.plot(x,y)\n",
    "print(point.x,point.y)\n",
    "plt.plot(point.x,point.y,'o',p2.x,p2.y,'o',p3.x,p3.y,'o',p4.x,p4.y,'o',label='p4')\n",
    "plt.legend()\n",
    "plt.grid(True)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
